/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package facades;

import entities.FacturaMultimarca;
import entities.LineaFacturaMultimarca;
import entities.Pedido;
import entities.ProductoTalla;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author damfercer
 */
@Stateless
public class LineaFacturaMultimarcaFacade extends AbstractFacade<LineaFacturaMultimarca> {
    @PersistenceContext(unitName = "CorporatePU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public LineaFacturaMultimarcaFacade() {
        super(LineaFacturaMultimarca.class);
    }
    
    public Integer getCantidadEnvidadaDeProductoTallaPedido(ProductoTalla pt, Pedido p){
        Integer cantidad=null;
        Query q=em.createNamedQuery("LineaFacturaMultimarca.findCantidadEnviadaDeProductoTallaYPedido");
        q.setParameter("idPedido", p.getIdPedido());
        q.setParameter("idProductoTalla", pt.getIdProductoTalla());
        List<Long> cantidades=q.getResultList();
        if(!cantidades.isEmpty()){
            Long cantidadLong=cantidades.get(0);
            if(cantidadLong!=null){
                cantidad=Integer.valueOf(cantidadLong.intValue());
            }
        }
        return cantidad;
    }
    
    public Integer getCantidadEnvidadaDeProductoTallaPedidoYNoFactura(ProductoTalla pt, Pedido p, FacturaMultimarca fm){
        Integer cantidad=0;
        Query q=em.createNamedQuery("LineaFacturaMultimarca.findCantidadEnviadaDeProductoTallaYPedidoYNoFactura");
        q.setParameter("idPedido", p.getIdPedido());
        q.setParameter("idProductoTalla", pt.getIdProductoTalla());
        q.setParameter("idFactura", fm.getIdFacturaMultimarca());
        List<Long> cantidades=q.getResultList();
        if(!cantidades.isEmpty()){
            Long cantidadLong=cantidades.get(0);
            if(cantidadLong!=null){
                cantidad=Integer.valueOf(cantidadLong.intValue());
            }
        }
        return cantidad;
    }
    
}
